package theMemoryModel;

import classLoader.Test;

/**
 * @Author: Jamie Nie
 * @Date: 2021/6/22 15:29
 * @Slogan: The harder you work, the more luck you have.
 * @desc:   对象逃逸分析：就是分析对象动态作用域，当一个对象在方法中被定义后，它可能被外部方法所引用，例如作为调用参数传递到其他地方中。
 */
public class EscapeAnalysis {

    public Test test1(){
        Test test = new Test(); //逃逸了，对象在堆内分配内存
        test.setAge(1);
        test.setName("Jamie");

        //TODO 保存数据库

        return test;
    }

    public void test2(){
        Test test = new Test(); //没有逃逸，可以在栈中test2对应的栈帧中分配内存（前提是栈帧中内存足够）。
        test.setAge(2);
        test.setName("Nie");

        //TODO 保存数据库
    }
}
